package com.getword.domain;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.io.File;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 视频文章
 */
@Document(collection = "video")
@Getter
@Setter
@ToString
public class Video implements Serializable {
    @Id
    @Field("_id")
    private String id;
    private String title; // 文章标题
    private String videoFilename;  // 视频文件名，上传后的文件
    private String videoOriginalName;

    private String captionFilename;  // 字幕文件名，上传后的文件
    private String captionOriginalName;

    private Long fileSize;
    private String videoExt;  // 视频后缀名
    private String captionExt;// 字幕后缀名， vtt/srt  字幕文件需要到Python中处理
    private String videoPath; // 视频路径
    private Date uploadTime;
    private String captionPath; //字幕路径

    // 字幕文件，保存到数据库
    private String captionText;


    private String coverImg; // 封面图片

    private List<String> keywords;

    private List<Object> timelines;  // 时间轴  [[[0,7], 'text', 0.88], ..]
    private Double posGrade;  // 积极程度，积极的句子个数
    private Double negGrade; // 消极程度


    @DBRef
    private Course course;// 仅仅为了加快查询速度
    @DBRef
    private Grade grade; // 仅仅为了加快查询速度
    // 大纲
    @DBRef
    private OutlineDetail outlineDetail;
    @DBRef
    private User user;
}
